import { IsString, IsObject, IsArray, IsOptional } from 'class-validator';

export class CreatePresetDto {
  @IsString()
  name: string;

  @IsString()
  category: string;

  @IsString()
  @IsOptional()
  description?: string;

  @IsString()
  @IsOptional()
  preview_image?: string;

  @IsObject()
  params: Record<string, any>;

  @IsArray()
  @IsOptional()
  tags?: string[];

  @IsString()
  template_type: string;
}

export class UpdatePresetDto extends CreatePresetDto {
  @IsOptional()
  name: string;

  @IsOptional()
  category: string;

  @IsOptional()
  params: Record<string, any>;

  @IsOptional()
  template_type: string;
} 